<template>
  <div >

    <!--
        el-table：是elementUi定义的表格标签
        data：表格的数据来源属性，值就是我们在模型层绑定的数据集合
        border：边框的线
        el-table-column：一个此标签就代表一列
        prop：data中数据集合的每条数据中的某个字段，说白了就是对象的字段名称
        label：列头名称
        width：一个字段有多宽，最后一列一定不要加此属性，加了列表非常丑
     -->
    <el-table
      :data="tableData"
      border
      style="width: 100%">
      <el-table-column
        prop="date"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
    <!--
          el-pagination：elementUI提供的分页组件
          background：带背景色
          layout：布局
          total：分页总条数
          align：位置
    -->
    <el-pagination
      background
      layout="sizes,prev, pager, next"
      :total="total"
      align="right"
      :current-page="currentPage"
      :page-size="pageSize"
      @current-change="goPage"
      :page-sizes="[5, 10, 15, 20]">
    </el-pagination>

  </div>
</template>

<script>
//引入axios
//import axios from "axios";
//vue实例代码
export default {
  name: 'MyTable',
  data () {
    return {
      tableData: [],
      currentPage: 1,
      pageSize: 5,
      total: 0,
    }
  },
  mounted() {
    //发送ajax请求
    this.list();
    // this.currentPage + this.pageSize
  },
  methods:{
    goPage(currentPage){
      this.currentPage=currentPage;
      this.list();
    },
      list(){
      axios.get("https://www.fastmock.site/mock/83c2720b372e2d53f082c4efceb8a7d4/pethome/user/list",{"currentPage":this.currentPage,"pageSize":this.pageSize})
        .then(result=>{
          // 给模型层中的表单字段赋值
          this.tableData = result.data.data;
          // 给模型层中的总条数赋值
          this.total = result.data.totals;
        })
        .catch(error=>{
          console.log(error);
          alert("系统繁忙，稍后重试")
        })





      //   this.$http.post("/user/pageData", {
      //     "currentpage": this.currentpage,
      //     "pageSize": this.pageSize
      //   })
      //     .then(result => {
      //       this.tableData = result.data;
      //     })
      }

  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1{
  color: midnightblue;
}
</style>
